package com.czk.date;

import java.time.LocalTime;
import java.time.ZoneId;
import java.time.format.DateTimeFormatter;
import java.time.format.FormatStyle;
import java.time.temporal.ChronoUnit;
import java.util.Locale;

/**
 * LocalTime 表示一个没有指定时区的时间类，例如，10 p.m.或者 17：30:15，
 * 下面示例代码中，将会使用上面创建的 时区对象创建两个 LocalTime。然后我们会比较两个时间，并计算它们之间的小时和分钟的不同。
 *
 * @Author:ChenZhangKun
 * @Date: 2021/8/26 16:33
 */
public class LocalTimeDemo {
    public static void main(String[] args) {
        ZoneId zone1 = ZoneId.of("Europe/Berlin");
        ZoneId zone2 = ZoneId.of("Brazil/East");
        ZoneId zone3 = ZoneId.of("Asia/Shanghai");
        LocalTime now1 = LocalTime.now(zone1);
        LocalTime now2 = LocalTime.now(zone2);
        LocalTime now3 = LocalTime.now(zone3);
        // 北京时间
        System.out.println(now3);
        // 拿到两个时区目前的时间
        System.out.println(now1);
        System.out.println(now2);
        System.out.println(ChronoUnit.HOURS.between(now3, now1));
        // 创建时间
        LocalTime localTime = LocalTime.of(23, 5, 5);
        System.out.println(localTime);
        // 指定国家格式化
        DateTimeFormatter dateTimeFormatter = DateTimeFormatter.ofLocalizedTime(FormatStyle.SHORT)
                .withLocale(Locale.GERMAN);
        LocalTime localTime1 = LocalTime.parse("13:37", dateTimeFormatter);
        System.out.println(localTime1);
    }
}
